In-class Exercise 4

A short description of the post.

Ngah Xin Yan https://github.com/nxinyan/
09-06-2021

Installing and Loading the R packages

packages = c('maptools', 'sf', 'raster','spatstat', 'tmap','tidyverse' )
for (p in packages){
if(!require(p, character.only = T)){
install.packages(p)
}
library(p,character.only = T)
}

Importing Geospatial Data

sg_sf <- st_read(dsn = "data/shapefile", 
                 layer="CostalOutline")
Reading layer `CostalOutline' from data source 
  `C:\nxinyan\IS415\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile' 
  using driver `ESRI Shapefile'
Simple feature collection with 60 features and 4 fields
Geometry type: POLYGON
Dimension:     XY
Bounding box:  xmin: 2663.926 ymin: 16357.98 xmax: 56047.79 ymax: 50244.03
Projected CRS: SVY21
mpsz_sf <- st_read(dsn = "data/shapefile", 
                 layer="MP14_SUBZONE_WEB_PL")
Reading layer `MP14_SUBZONE_WEB_PL' from data source 
  `C:\nxinyan\IS415\IS415_blog\_posts\2021-09-06-in-class-exercise-4\data\shapefile' 
  using driver `ESRI Shapefile'
Simple feature collection with 323 features and 15 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 2667.538 ymin: 15748.72 xmax: 56396.44 ymax: 50256.33
Projected CRS: SVY21

Importing Aspatial Data

childcare <- read_rds("data/rds/childcare.rds")
CHAS <- read_rds("data/rds/CHAS.rds")

Converting from aspatial to geospatial

CHAS_sf <- st_as_sf(CHAS,
                    coords = c("X_COORDINATE",
                               "Y_COORDINATE"),
                    crs=3414)
childcare$Lat <- as.numeric(childcare$Lat)
childcare$Lng <- as.numeric(childcare$Lng)
childcare_sf <- st_as_sf(childcare,
                         coords = c("Lng",
                                    "Lat"),
                         crs=4326) %>%
  st_transform(crs = 3414)

Geospatial Data Wrangling

Converting from sf to Spatial Classes

childcare <- as_Spatial(childcare_sf)
CHAS <- as_Spatial(CHAS_sf)
mpsz <- as_Spatial(mpsz_sf)
sg <- as_Spatial(sg_sf)

Conerting from Spatial* classes to sp format

childcare_sp <- as(childcare, "SpatialPoints")
CHAS_sp <- as(CHAS, "SpatialPoints")
sg_sp <- as(sg, "SpatialPolygons")

Converting from sp to spatstat ppp format

childcare_ppp <- as(childcare_sp, "ppp")
CHAS_ppp <- as(CHAS_sp, "ppp")
tmap_mode('view')
tm_shape(childcare_sf) + 
  tm_dots(alpha=0.4,
          col="blue",
          size=0.05) +
  tm_shape(CHAS_sf) + 
    tm_dots(alpha=0.4,
            col="red",
            size=0.05)

{r echo=TRUE, eval=TRUE}